﻿using PeriodicalTaskDemo.Tasks;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace PeriodicalTaskDemo
{
    internal static class Program
    {


        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            // 设置周期性任务
            List<PeriodicalTask> ptasks = new List<PeriodicalTask>()
            {
                new PeriodicalTask(),
                new XLogger(),
            };


            // 启动周期性任务
            foreach (var pt in ptasks)
                pt.Start();

            // 主程序启动配置 
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);


            // 启动主窗体，程序会卡在这里
            Application.Run(new MainForm());


            // 程序结束执行退出任务
            foreach (var pt in ptasks)
                pt.Stop();
        }
    }
}
